export const validateFileName = (str) => {
  // 文件名不能为 null 或空白
  if (!str || str.trim() === '') {
    return false
  }

  // 限制长度，例如最大255字符
  if (str.length > 255) {
    return false
  }

  // Windows 不允许的文件名字符：\ / : * ? " < > |
  const invalidChars = /[\\\/:\*\?"<>\|]/
  if (invalidChars.test(str)) {
    return false
  }

  // 常见保留文件名（Windows）如 CON, PRN, AUX 等等
  const reservedNames = /^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i
  if (reservedNames.test(str)) {
    return false
  }

  // 文件名不能以空格或点结尾
  if (str.endsWith(' ') || str.endsWith('.')) {
    return false
  }

  // 所有检查通过
  return true
}

export const validateFileFlodName = (str) => {
  if (!str || str.trim() === '') {
    return false
  }

  // 限制最大长度（如255字符）
  if (str.length > 255) {
    return false
  }

  // 禁止使用的字符： \ / : * ? " < > |
  const invalidChars = /[\\\/:\*\?"<>\|]/
  if (invalidChars.test(str)) {
    return false
  }

  // 系统保留名称（如 Windows 中的 CON、PRN 等）
  const reservedNames = /^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i
  if (reservedNames.test(str)) {
    return false
  }

  // 不允许以空格或点结尾
  if (str.endsWith(' ') || str.endsWith('.')) {
    return false
  }

  // 所有校验通过，返回 true
  return true
}